566 research outputs found
Necessary and Sufficient Conditions on Partial Orders for Modeling Concurrent Computations
Partial orders are used extensively for modeling and analyzing concurrent
computations. In this paper, we define two properties of partially ordered
sets: width-extensibility and interleaving-consistency, and show that a partial
order can be a valid state based model: (1) of some synchronous concurrent
computation iff it is width-extensible, and (2) of some asynchronous concurrent
computation iff it is width-extensible and interleaving-consistent. We also
show a duality between the event based and state based models of concurrent
computations, and give algorithms to convert models between the two domains.
When applied to the problem of checkpointing, our theory leads to a better
understanding of some existing results and algorithms in the field. It also
leads to efficient detection algorithms for predicates whose evaluation
requires knowledge of states from all the processes in the system
Parallel and Distributed Algorithms for the Housing Allocation Problem
We give parallel and distributed algorithms for the housing allocation
problem. In this problem, there is a set of agents and a set of houses. Each
agent has a strict preference list for a subset of houses. We need to find a
matching such that some criterion is optimized. One such criterion is Pareto
Optimality. A matching is Pareto optimal if no coalition of agents can be
strictly better off by exchanging houses among themselves. We also study the
housing market problem, a variant of the housing allocation problem, where each
agent initially owns a house. In addition to Pareto optimality, we are also
interested in finding the core of a housing market. A matching is in the core
if there is no coalition of agents that can be better off by breaking away from
other agents and switching houses only among themselves.
In the first part of this work, we show that computing a Pareto optimal
matching of a house allocation is in {\bf CC} and computing the core of a
housing market is {\bf CC}-hard. Given a matching, we also show that verifying
whether it is in the core can be done in {\bf NC}. We then give an algorithm to
show that computing a maximum Pareto optimal matching for the housing
allocation problem is in {\bf RNC}^2 and quasi-{\bf NC}^2. In the second part
of this work, we present a distributed version of the top trading cycle
algorithm for finding the core of a housing market. To that end, we first
present two algorithms for finding all the disjoint cycles in a functional
graph: a Las Vegas algorithm which terminates in rounds with high
probability, where is the length of the longest cycle, and a deterministic
algorithm which terminates in rounds, where is the
number of nodes in the graph. Both algorithms work in the synchronous
distributed model and use messages of size
On Computability of Equilibria in Markets with Production
Although production is an integral part of the Arrow-Debreu market model,
most of the work in theoretical computer science has so far concentrated on
markets without production, i.e., the exchange economy. This paper takes a
significant step towards understanding computational aspects of markets with
production.
We first define the notion of separable, piecewise-linear concave (SPLC)
production by analogy with SPLC utility functions. We then obtain a linear
complementarity problem (LCP) formulation that captures exactly the set of
equilibria for Arrow-Debreu markets with SPLC utilities and SPLC production,
and we give a complementary pivot algorithm for finding an equilibrium. This
settles a question asked by Eaves in 1975 of extending his complementary pivot
algorithm to markets with production.
Since this is a path-following algorithm, we obtain a proof of membership of
this problem in PPAD, using Todd, 1976. We also obtain an elementary proof of
existence of equilibrium (i.e., without using a fixed point theorem),
rationality, and oddness of the number of equilibria. We further give a proof
of PPAD-hardness for this problem and also for its restriction to markets with
linear utilities and SPLC production. Experiments show that our algorithm runs
fast on randomly chosen examples, and unlike previous approaches, it does not
suffer from issues of numerical instability. Additionally, it is strongly
polynomial when the number of goods or the number of agents and firms is
constant. This extends the result of Devanur and Kannan (2008) to markets with
production.
Finally, we show that an LCP-based approach cannot be extended to PLC
(non-separable) production, by constructing an example which has only
irrational equilibria.Comment: An extended abstract will appear in SODA 201
Byzantine Vector Consensus in Complete Graphs
Consider a network of n processes each of which has a d-dimensional vector of
reals as its input. Each process can communicate directly with all the
processes in the system; thus the communication network is a complete graph.
All the communication channels are reliable and FIFO (first-in-first-out). The
problem of Byzantine vector consensus (BVC) requires agreement on a
d-dimensional vector that is in the convex hull of the d-dimensional input
vectors at the non-faulty processes. We obtain the following results for
Byzantine vector consensus in complete graphs while tolerating up to f
Byzantine failures:
* We prove that in a synchronous system, n >= max(3f+1, (d+1)f+1) is
necessary and sufficient for achieving Byzantine vector consensus.
* In an asynchronous system, it is known that exact consensus is impossible
in presence of faulty processes. For an asynchronous system, we prove that n >=
(d+2)f+1 is necessary and sufficient to achieve approximate Byzantine vector
consensus.
Our sufficiency proofs are constructive. We show sufficiency by providing
explicit algorithms that solve exact BVC in synchronous systems, and
approximate BVC in asynchronous systems.
We also obtain tight bounds on the number of processes for achieving BVC
using algorithms that are restricted to a simpler communication pattern
Linearizable Replicated State Machines With Lattice Agreement
This paper studies the lattice agreement problem in asynchronous systems and explores its application to building a linearizable replicated state machine (RSM). First, we propose an algorithm to solve the lattice agreement problem in O(log f) asynchronous rounds, where f is the number of crash failures that the system can tolerate. This is an exponential improvement over the previous best upper bound of O(f). Second, Faleiro et al have shown in [Faleiro et al. PODC, 2012] that combination of conflict-free data types and lattice agreement protocols can be applied to implement a linearizable RSM. They give a Paxos style lattice agreement protocol, which can be adapted to implement a linearizable RSM and guarantee that a command by a client can be learned in at most O(n) message delays, where n is the number of proposers. Later, Xiong et al in [Xiong et al. DISC, 2018] gave a lattice agreement protocol which improves the O(n) message delay guarantee to O(f). However, neither of the protocols is practical for building a linearizable RSM. Thus, in the second part of the paper, we first give an improved protocol based on the one proposed by Xiong et al. Then, we implement a simple linearizable RSM using our improved protocol and compare our implementation with an open source Java implementation of Paxos. Results show that better performance can be obtained by using lattice agreement based protocols to implement a linearizable RSM compared to traditional consensus based protocols
- …